package acm.蓝桥19;

import java.util.Arrays;
import java.util.Scanner;

/**
 * 小蓝最近在找一些奇怪的数，其奇数数位上是奇数，而偶数数位上是偶数。同时，这些数的任意 5 个连续数位的和都不大于 m 。 例如当 m = 9
 * 时，10101 和 12303 就是奇怪的数，而 12345 和 11111 则不是。 小蓝想知道一共有多少个长度为 n
 * 的上述的奇怪的数。你只需要输出答案对 998244353 取模的结果。
 */
public class D不超过m的和 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		for (long[] d : dp) {
			Arrays.fill(d, -1);
		}
		n = sc.nextInt();
		m = sc.nextInt();
		long ans = dfs(m, n);
		System.out.println(ans);
	}

	static int maxN = (int) (2e5 + 10), maxM = 51;
	static long mod = 998244353;
	static long[][] dp = new long[maxM][maxN];
	static long[] path = new long[20];
	static int n, m;
	/**
	 * 这个任意五层怎么处理
	 * @param sum
	 * @param i
	 * @return
	 */
    public static long dfs(int sum,int i) {
        if (sum < 0) {
            return 0;
        }
        if (i == 0) {
            return 1;
        }
        if(dp[sum][i]!=-1) {
            return dp[sum][i];
        }
        long ans=0;
        for (int j = i % 2; j <= 9; j += 2) {
            ans+=dfs(sum-j,i-1);
            ans%=mod;
        }
        dp[sum][i]=ans%mod;
        return dp[sum][i];
    }
}
